Method and spread spectrum software receiver for satellite navigation

ABSTRACT

A spread spectrum signal receiver includes a radio signal processing unit, which is at least partly implemented in software running on a processor. The processing unit is adapted to estimate a respective processing demand required to produce position/time related data based on each subset of a number of candidate subsets of signal sources among a group of potential signal sources. Each candidate subset contains at least a minimum number of signal sources, which is necessary to produce the position/time related data of a desired quality. The processing unit is adapted to select a set of preferred signal sources from the group of potential signal sources based on a candidate subset, which is associated with a lowest estimated processing demand during a subsequent receiver operating period. Then, the receiver receives spread spectrum signals from the selected set of signal sources, and based on the received signals produces position/time related data.

THE BACKGROUND OF THE INVENTION AND PRIOR ART

The present invention relates generally to reception and processing ofspread spectrum signals. More particularly the invention relates to aspread spectrum receiver according to the preamble of claim 1 and amethod according to the preamble of claim 9. The invention also relatesto a computer program product according to claim 17 and a computerreadable medium according to claim 18.

Spread spectrum transmission solutions are becoming increasinglyimportant, for instance in global navigation satellite systems (GNSS).Presently, the Global Positioning System (GPS; U.S. Government) is thedominant system, however alternative systems are expected to gainincreased importance in the future. So far, the Global OrbitingNavigation Satellite System (GLONASS; Russian Federation Ministry ofDefense) and the Galileo system (the European programme for globalnavigation services) constitute the major alternative GNSSs. Varioussystems also exist for enhancing the coverage, the availability and/orthe quality of at least one GNSS in a specific region. The Quasi-ZenithSatellite System (QZSS; Advanced Space Business Corporation in Japan),the Wide Area Augmentation System (WAAS; The U.S. Federal AviationAdministration and the Department of Transportation) and EuropeanGeostationary Navigation Overlay Service (EGNOS; a joint project of theEuropean Space Agency, the European Commission and Eurocontrol—theEuropean Organisation for the Safety of Air Navigation) representexamples of such augmentation systems for GPS, and in the latter caseGPS and GLONASS.

Unfortunately, the dissimilarities in the frequency bands, andespecially the signal formats used in the different systems, result inthe situation that a signal receiver adapted for one system is generallynot able to receive and process signals from sources belonging to adifferent system. Thus, multiple receiver chains, or one receiver chainwith plural signal paths, are required to enable reception of signalsfrom more than one type of system. Including more than one receiverchain in a single device renders the device expensive, bulky and/orheavy. Therefore, a programmable software receiver solution is desired,which enables processing of many signal formats in one processor, e.g. aCPU (central processing unit) or a DSP (digital signal processor).Namely, in such a design, it is possible to adapt the signal processingprinciples to a plurality of signal formats. A software-based GNSSreceiver is also advantageous in that this kind of receiver may co-existefficiently with other types of signal receivers, signal processingdevices and/or software applications, for example in a laptop computer,a mobile telephone or a PDA (Personal Digital Assistant).

However, software receiver implementations are associated with oneimportant drawback in comparison with corresponding hardware designs.Namely, a software implementation running on a generic microprocessor istypically less energy efficient (in terms of energy or power per outputdata) than one running on a dedicated hardware implementation, e.g.represented by an ASIC (Application Specific Integrated Circuit).

For reasons mentioned above, it is advantageous to integrate asoftware-based receiver into a portable/handheld device, provided suchintegration addresses the additional challenge of these devices'typically limited battery capacity. Thus, it is important to optimizethe use of the power resources as well. With these things in mind, wewill now briefly discuss the prior art in this area.

U.S. Pat. No. 6,710,578 discloses a method for power resource managementin a hardware-based portable communication device, such as aradiotelephone. The device may be operated in a plurality of operationalmodes, and before entry into a particular user-selected mode, anestimate of the available power is calculated. It is then predictedwhether these resources are sufficient for the selected mode, and if itis estimated that the resources are insufficient, the operation of thedevice is restricted with respect to at least one operational mode.However, the selection of the signal sources being used is notinfluenced by these measurements. Furthermore, the solution is entirelyfocused on a hardware implementation.

U.S. Pat. No. 6,727,850 describes a method and an apparatus forselecting optimal satellites to locate an object. A satellite listincluding the coordinates of the visible satellites is generated. Then,the satellites having the highest redundancy are eliminated from thelist, such that an intended number of satellites remain on the list.Thereby, a required computation volume to produce the list becomesrelatively low. Here, the redundancy is defined by a degree of overlapthat a satellite has with other satellites on the list. However, besidesthis redundancy measure, no quality-related parameter influences thechoice of satellites used by the receiver. Furthermore, the designpresumes a hardware implementation.

The published U.S. patent application 2005/0140545 reveals a GPSreceiver having a software-implemented correlator, which is adapted torender possible seamless integration of multiple technologies withoutany compromise in performance levels and without the need for customizedhardware. Allegedly, the design also reduces the power consumption as aresult of fewer hardware components and the ability to change thesampling frequency. Nevertheless, optimization of power resources is notused in any way in the space vehicle (SV) selection algorithm.

SUMMARY OF THE INVENTION

The object of the present invention is therefore to alleviate the aboveproblems and to provide a highly power-efficient software-based solutionfor receiving and processing spread spectrum signals.

According to the invention, the object is achieved by the receiver asinitially described, wherein the processing unit is adapted to estimatea respective processing demand required to produce the position/timerelated data based on each subset of a number of candidate subsets ofsignal sources among the group of potential signal sources. Here, eachcandidate subset contains at least a minimum number of signal sourcesnecessary to produce the position/time related data of a desiredquality. The processing unit is also adapted to select a set ofpreferred signal sources based on a candidate subset, which isassociated with a lowest estimated processing demand during a subsequentoperating period for the receiver.

One important advantage of this design is that the receiver's energyconsumption can be made very low while maintaining a specified qualityof the position/time related data. Moreover, it is possible to configurethe receiver such that if additional processing capacity becomesavailable, the processing demand may be allowed to increase by a certainamount; this improves the quality of the position/time related data.Naturally, the candidate subsets need not include all theoreticallypossible constellations of the potential signal sources. For example,subsets that prima facie represent highly unfavorable, or evennon-working combinations, may be discarded directly.

According to one preferred embodiment of the invention, it is presumedthat at least two of the signal sources in the group of potential signalsources emit signals of mutually different signal formats. Therefore,the processing unit is adapted to estimate the processing demand byconsidering a respective computational complexity for processing signalsof each of said signal formats. Thus, a typical computational intensitynecessary to process the signals of each format (e.g. GPS and Galileorespectively) may be weighed into the processing-demand estimation.

According to another preferred embodiment of the invention, theprocessing unit is adapted to estimate the processing demand byestimating a respective signal quality of each signal in the group ofpotential signal sources. Here, the signal quality is reflected by oneor more of: a signal power parameter estimation, a noise densityparameter estimation, a pseudorange error parameter estimation, aparameter indicating detected interference and signal sourcehealth/status data specifying whether or not a specific signal source ispresently available for use. The signal power parameter estimation andthe noise density parameter estimation may, in turn, be used to computea signal-to-noise ratio estimation. The pseudorange error parameterestimation, in turn, may include a multipath distortion parameterestimation, a parameter indicating estimated atmospheric delays(ionospheric and/or tropospheric) and/or a parameter indicatingsatellite-based signal distortions (i.e. signal non-idealitiesoriginating from the satellite). Any detected interference detection maybe broken up into narrowband interference, wideband interference,jamming and/or spoofing. The results of these tests and estimates arecombined to yield a determination of the feasibility, and an estimate ofthe processing intensity required to acquire or track a particularsignal. Thus, a reliable basis is established for assessing theprocessing demand.

According to still another preferred embodiment of the invention, theprocessing unit is adapted to estimate the processing demand byconsidering at least one geometry parameter. This parameter, in turn,reflects a spatial position of each of the signal sources in the groupof potential signal sources relative to a current position/time for thereceiver. For example, the so-called dilution of precision (DOP) conceptmay be used to encapsulate these geometry parameters. These geometryparameters, combined with a measured or assumed set of errors for theindividual ranging sources, produce an estimate of the accuracy of aposition fix.

According to another preferred embodiment of the invention, theprocessing unit is adapted to estimate the processing demand byconsidering whether a future operational mode of the receiver during thesubsequent operating period is expected to be identical to a currentoperational mode of the receiver. If a different mode is expected, inwhich for example a different amount of processing capacity isavailable, the processing unit is adapted to estimate a respectiveprocessing demand for producing the position/time related data in thismode based on each subset of a number of candidate subsets of signalsources among the group of potential signal sources. Here, eachcandidate subset contains at least a minimum number of signal sources,which in said mode is required to produce the position/time related dataof the desired quality. Hence, an accurate estimate can be made of theprocessing demand.

According to yet another preferred embodiment of the invention, eachsignal source is represented by a particular satellite of at least oneglobal navigation satellite system. The group of potential signalsources here represents all satellites of the at least one globalnavigation satellite system, which are visible from a currentposition/time for the receiver. For instance, the group of potentialsignal sources may be determined from a so-called almanac and/orephemeris function describing the satellites' movements over time.Moreover, various types of assisted GNSS solutions may provideequivalent or additional aiding information.

According to still another preferred embodiment of the invention, theprocessing unit is adapted to determine the candidate subset, which isassociated with the lowest estimated processing demand during thesubsequent period by optimizing a cost function expressing a processingintensity as a function of a data quality level with respect to theposition/time related data. Hence, an optimal candidate set can bedetermined efficiently, for example by means of linear programming.

According to another aspect of the invention the object is achieved bythe method described initially, involving the steps of: estimating arespective processing demand required to produce the position/timerelated data based on each subset of a number of candidate subsets ofsignal sources among the group of potential signal sources, eachcandidate subset containing at least a minimum number of signal sourcesnecessary to produce the position/time related data of a desiredquality, and

-   -   selecting the set of preferred signal sources based on a        candidate subset being associated with a lowest estimated        processing demand during a subsequent operating period for the        receiver.

The advantages of this method, as well as the preferred embodimentsthereof, are apparent from the discussion above with reference to theproposed receiver.

According to a further aspect of the invention the object is achieved bya computer program product, which is directly loadable into the memoryof a computer, and includes software for controlling the method proposedabove when said program is run on a computer.

According to another aspect of the invention the object is achieved by acomputer readable medium, having a program recorded thereon, where theprogram is to control a computer to perform the method proposed above.

Further advantages, beneficial features and applications of the presentinvention will be apparent from the following description and thedependent claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is now to be explained more closely by means ofpreferred embodiments, which are disclosed as examples, and withreference to the attached drawings.

FIG. 1 shows a block diagram of a spread spectrum signal receiveraccording to one embodiment of the invention;

FIG. 2 illustrates how signal sources in the form of the satellites of anumber of GNSSs orbit the Earth;

FIG. 3 illustrates a group of potential signal sources presently visiblefrom a particular receiver position;

FIG. 4 illustrates how candidate subsets of signal sources may bedefined in a group of potential signal sources according to oneembodiment of the invention; and

FIG. 5 illustrates, by means of a flow diagram, the general method ofoperating a spread spectrum receiver according to the invention.

DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION

FIG. 1 shows a block diagram of a spread spectrum receiver 100 accordingto one embodiment of the invention. The receiver 100 includes a radiofront-end unit 110, an interface unit 120 and a radio signal processingunit 135. The receiver 100 preferably also includes a computer readablemedium 140, such as a memory buffer, storing a program which is adaptedto control the processing unit 135 to operate according to the proposedprinciple.

The radio front-end unit 110, in turn, has an antenna means adapted toreceive radio signals S_(HF) from a plurality of signal sources, forexample a set of satellites belonging to one or more GNSSs. Therefore,the antenna means is capable of receiving radio frequency signals in atleast one frequency band, e.g. the L1-, L2- and/or L5-bands, i.e. havingspectra ranging from 1563 MHz to 1587 MHz, 1215 MHz to 1240 MHz and 1155MHz to 1197 MHz respectively. Specifically, the radio front-end unit 110is adapted to perform sampling and digitizing of the received radiosignals S_(HF), and to produce a resulting digital representationS_(BP), based on which the radio signal processing unit 135 can performrelevant further signal processing to generate position/time relateddata D_(PT). For example, the unit 110 may directly sample a bandpassversion of the radio signals S_(HF), or the unit 110 may execute I/Qbandpass sampling, and thus frequency downconvert the received signalsS_(HF) to the baseband.

The interface unit 120 is adapted to interconnect the radio front-endunit 110 with the radio signal processing unit 135 by converting thedigital representation S_(BP) from the radio front-end unit 110 to adata format d being suitable for the radio signal processing unit 135.

The radio signal processing unit 135 is at least partly implemented insoftware 135 s running on a processor 130. Preferably, the radio signalprocessing unit 135 is entirely implemented in the software 135 s.However it is feasible that one or more separate units, e.g. realized inan FPGA (Field Programmable Gate Array) design or an ASIC, are adaptedto perform at least one of the unit's 135 processing functions.

According to the invention, the processing unit 135 is adapted to selecta set of preferred signal sources from which the spread spectrum signalsS_(HF) are received to form a basis for the position/time related dataD_(PT). To this aim, the processing unit 135 is adapted to estimate arespective processing demand required to produce the data D_(PT) basedon each subset of a number of candidate subsets of signal sources amonga group of potential signal sources. The candidate subsets are definedsuch that each subset contains at least a minimum number of signalsources necessary to produce the position/time related data D_(PT) of adesired quality. Naturally, the candidate subsets need not include alltheoretically possible constellations of the potential signal sources.Preferably, any subsets that can immediately be deduced to representhighly unfavorable, or even non-working combinations, are discardeddirectly (i.e. without any actual estimation of the processing demand toproduce the position/time related data based on the signals from thesesignal sources). The processing unit 135 is adapted to select the set ofpreferred signal sources based on a candidate subset, which isassociated with a lowest estimated processing demand during a subsequentoperating period for the receiver 100. In other words, the set ofpreferred signal sources is defined as the candidate subset which isestimated to require a smallest amount of processing to generate thedata D_(PT) of the desired quality. Further details regarding theproposed selection of signal sources will be discussed below withreference to FIGS. 3 and 4.

According to one preferred embodiment of the invention, we presume thatat least two of the signal sources in the group of potential signalsources emit signals of mutually different signal formats. For example,a number of signal sources may be represented by Galileo satellites, andat least one signal source may be represented by a non-Galileosatellite, which thus may be a GPS, a QZSS satellite, or a geostationarysignal source in the form of an EGNOS satellite.

Here, the processing unit 135 is adapted to estimate the processingdemand by considering a respective computational complexity forprocessing signals of each of said formats, i.e. in the above example,the GPS format and the relevant other format(s) Galileo, GLONASS and/orQZSS. The specifications of the GPS and Galileo formats are such that,provided identical physical circumstances, a GPS signal requiressomewhat less processing power in order to derive resultingposition/time related data. In reality, however, a vast number ofadditional factors influence the estimated processing demand required toproduce this data, such as a pseudorange error parameter estimation, aparameter indicating detected interference, signal source health/status(data specifying whether or not a specific signal source is presentlyavailable for use) and various geometry factors, which may be describedin terms of DOP.

FIG. 2 schematically shows a number signal sources in the form of thesatellites S1-S21 orbiting the Earth 200. The satellites may either allbelong to a single GNSS, or they may belong to two or more differentsystems. For example, the satellites S1, S4, S7, S10, S13, S16 and S19may be GPS satellites; while the satellites S2, S5, S8, S11, S14, S17and S20 are Galileo satellites; and the satellites S3, S6, S9, S12, S15,S18 and S21 are GLONASS satellites. It is worth noting, however, thatFIG. 2 is not representative because it is likely that the total numberof GPS, GLONASS and Galileo satellites will be significantly larger thanthe number of satellites shown in this figure.

FIG. 3 illustrates a group of potential signal sources S1-S9 of thesatellites shown in FIG. 2 that are visible from a particular receiverposition at a particular instant, i.e. a given position/time PT_(R).Here, a visibility limit H(PT_(R)) is schematically specified as thehorizon seen from the position/time PT_(R). In reality, however, thereceiver preferably applies an elevation mask angle, e.g. equivalent to5° elevation above the horizon, i.a. to avoid large multipath errors.

As mentioned above, a tentative group of potential signal sources ispreferably derived from an almanac function in the receiver. Thisfunction describes the satellites' movements over time. Alternatively,or as a complement thereto, said group may be derived from broadcastephemeris data and/or an assisted GNSS service available to thereceiver. Normally, the ephemeris data is associated with an issue ofdata ephemeris (IODE) parameter, which indicates how old the informationis. Depending on the time span since a most recent update of thereceiver's position and/or time references, the expected composition ofthe tentative group and the expected positions of each member in saidgroup may be imperfect or incorrect.

Generally, somewhat more processing power is required to derive theposition/time related data based on Galileo signals than based on GPSsignals. However, if the IODE indicates a much more recent update of theGalileo satellites than of the GPS satellites, it may still be a goodidea to focus the selection of the preferred set of signal sources onthe Galileo satellites because here the knowledge of the tentative groupcan be expected to be more accurate. Of course, a full acquisitionprocedure in which signals are registered from all the actuallyavailable signal sources provides the most accurate characterization ofthe group of potential signal sources S1-S9, and could in principle beused to identify which subsets yield position/time data of the desiredquality. Namely, one or more signal sources may malfunction, and/or thereceiver may be located in a radio shadow with respect to one or more ofthe signal sources.

Nevertheless, provided the example GNSSs mentioned above, the group ofpotential signal sources S1-S9 includes three GPS satellites S1, S4 andS7, three Galileo satellites S2, S5 and S8 respective three GLONASSsatellites S3, S6 and S9. Consequently, the signal sources in the groupof potential signal sources S1-S9 emit signals of mutually differentsignal formats.

According to the invention, the processing unit 135 is adapted toestimate a respective processing demand required to produce theposition/time related data D_(PT) of a desired quality based on eachsubset of a number of candidate subsets of signal sources among thegroup of potential signal sources S1-S9. Due to the potentiallydifferent signal formats of the signal sources in the group of potentialsignal sources S1-S9, according to one preferred embodiment of theinvention, the processing unit 135 is adapted to estimate the processingdemand by considering a respective computational complexity forprocessing signals of each of the potential signal formats.

FIG. 4 shows a relatively small number of candidate subsetsCSS₁-CSS_(j), which may be defined from the group of potential signalsources S1-S9. In this example, for reasons of clarity, the candidatesubsets CSS₁, CSS₂, CSS₃, CSS₄ and CSS_(j) contain relatively few signalsources (four or five). Specifically, the candidate subset CSS₁ containsthe signal sources S1, S2, S3 and S4; the candidate subset CSS₂ containsthe signal sources S2, S3, S4 and S5; the candidate subset CSS₃ containsthe signal sources S4, S5, S6 and S7; the candidate subset CSS₄ containsthe signal sources S5, S6, S7, S8 and S9; and the candidate subsetCSS_(j) contains the signal sources S6, S7, S8 and S9. Normally, a setof four signal sources is the minimum number of signal sources necessaryto produce a position estimate. Moreover, for reasons of clarity, thecandidate subsets CSS₁-CSS_(j) are here defined such that each setcontains a group of signal sources being positioned relatively proximateto one another. In an actual case, any geometrical interrelationshipsbetween the signal sources and the receiver are possible, provided thatthe signal sources lie within the visibility limit H(PT_(R)) from thereceiver. Furthermore, according to the invention, each candidate subsetCSS₁-CSS_(j) contains at least a minimum number of signal sources, whichis necessary to produce the position/time related data D_(PT) of adesired quality. This means that, for certain types of timingmeasurements, as few as a single signal source may be sufficient, whilefor highly accurate positioning, 8, 12, or even more signal sources maybe needed. Particularly in such a case, it is advantageous to utilizethe satellite signals from more than one GNSS.

Based on the candidate subsets CSS₁-CSS_(j), a set of preferred signalsources is selected, such that the selected set, say CSS₃, is thecandidate subset that is associated with a lowest estimated processingdemand to produce the position/time related data D_(PT) of the desiredquality. This estimation is assumed to be valid during a subsequentoperating period for the receiver. The subsequent operating period is afuture interval of any duration, for example represented by a number ofprocessor clock cycles. In any case, the subsequent operating period mayinclude any kind of receiver operation, such as acquisition, tracking oroscillator synchronization.

In order to attain a highly accurate estimate of the processing demandestimation of high accuracy, according one preferred embodiment of theinvention, the processing unit 135 is adapted to estimate the processingdemand by means of a procedure involving determining a respective signalquality of each signal in the group of potential signal sources S1-S9.The signal quality is reflected by a signal power estimation, a noisedensity estimation, which in turn, may be used to compute an estimate ofthe received signal-to-noise ratio.

Alternatively, or as a complement thereto, the signal quality may bereflected by a pseudorange error parameter estimation. This estimation,in turn, may include estimation of a parameter expressing multipathdistortion, parameters indicating estimated atmospheric delays (i.e.delays introduced by the ionosphere and/or in the troposphere) and/or aparameter indicating any satellite-based signal distortions (i.e. signalnon-idealities caused by problems in the satellite).

Alternatively, or as yet another complement, the signal quality may bereflected by a parameter indicating interference detection. For example,narrowband interference may be detected (which typically is an amount ofundesired sinusoidal energy), wideband interference may be detected(which typically is an amount of white or colored noise energy), jammingsignals may be detected and/or spoofing signals may be detected, i.e.signals intentionally transmitted to disturb or deceive the receiver.According to one preferred embodiment of the invention, the interferenceparameter has the following influence on the selection of signal sourcesin the preferred set. If a particular frequency band is found to besubjected to narrowband interference or jamming, signal sources fromalternative frequency bands, if available, are preferably selected. Adetermination can then be made about whether or not it is possible tomeet the position/time data quality requirements using the availablesources within the existing constraint of processing intensity. If, onthe other hand, broadband interference or jamming is detected, theprocedure involves calculating how much more averaging will be necessaryto obtain ranges of the desired quality, or if no attainable amount ofaveraging will be sufficient. The estimates of the required processingdemand are then revised accordingly.

Alternatively, or as still another complement, the signal quality may bereflected by signal source health/status data indicating whether or nota specific signal source is presently available for use. Such data istypically included in messages being repeatedly transmitted from thesignal sources. Analogously, said atmospheric parameters may berepresented by the so-called Klobuchar parameters being included insimilar messages likewise being originated by the signal sources.

According to another preferred embodiment of the invention, theprocessing unit 135 is adapted to estimate the processing demand byconsidering at least one geometry parameter, which reflects a spatialposition of each of the signal sources in the group of potential signalsources S1-S9 relative to the receiver's current position/time PT_(R).Various forms of DOP measures constitute examples of such geometryparameters, e.g. GDOP (Geometric DOP), PDOP (Position DOP), VDOP(Vertical DOP), HDOP (Horizontal DOP) and TDOP (Time DOP). Since the DOPdepends on the specific geometric relationships between the satellitesand the receiver, and therefore varies over time, signals wouldpreferably be received from those satellites which yield the best DOP,all other factors being equal. This is equivalent to optimizing theselection of satellites such that a lowest possible DOP value isobtained. Naturally, however, this optimization only pertains to the DOPmeasure as such. In an actual case, numerous factors besides DOP alsoinfluence the quality of the position/time related data D_(PT), and thusthe processing demand for generating this data at a particular quality.

For efficient operation, according to one preferred embodiment of theinvention, the processing unit 135 is adapted to estimate the candidatesubset, say CSS₃ above, which is associated with the lowest processingdemand during the subsequent period by optimizing a cost function. Thisfunction expresses a processing intensity as a function of a dataquality level in respect of the position/time related data D_(PT). Forexample, by applying linear programming (e.g. convex optimization), tothe cost function, said candidate subset CSS₃ can be determinedrelatively quickly.

Provided that the processor 130 has adequate processing resources, itmay be preferable to hold one or more channels in the processing unit135 open to repeatedly evaluate the quality of at least one rangingsignal source, or to perform said evaluation on one or more activechannels from time to time. Thereby, whenever a set of signals sourcesincluding the evaluated source(s) is estimated to provide a better dataquality per invested processor cycle than the currently selected subset,the selection of signals sources can be modified to include one or moreof the evaluated sources, either as a complement to, or as a substitutefor, all or some of the previously selected sources.

According to one preferred embodiment of the invention, the processingunit 135 is adapted to estimate the processing demand by consideringwhether a future operational mode of the receiver 100, i.e. during thesubsequent operating period, is expected to be identical to a currentoperational mode of the receiver 100. The operational modes may includea first mode in which real-time navigation is provided (here, thereceiver preferably produces position updates as often as technicallypossible); a second mode in which the data D_(PT) is producedexclusively in response to specific user requests, so-calledsingle-point fixes; a third low-power mode in which only accurate timeis needed (i.e. the data D_(PT) only includes time, and therefore it issufficient to track a single satellite, and perhaps receive signals onlyonce every tens of minutes to hours depending on the quality of thereceiver's oscillator); and a fourth mode in which the data D_(PT) isupdated at a user-specified rate, which can be anything from the rate ofthe first mode to the rate of the third mode. Naturally, for a givendata quality, each of these modes has an average processing demand perunit time that typically is different from the other modes. Therefore,if the future operational mode is expected to be different from thecurrent operational mode, the processing unit 135 is preferably adaptedto estimate a respective processing demand for producing theposition/time related data D_(PT) in the future operational mode insteadof the current operational mode. In this case, the processing-demandestimation is still based on each subset of a number of candidatesubsets of signal sources among the group of potential signal sources,such as S1-S9 above. Moreover, each candidate subset contains at least aminimum number of signal sources, which is required to produce theposition/time related data D_(PT) in the future operational mode.

To sum up, we will now describe the general method of controlling aspread spectrum signal receiver according to the invention withreference to the flow diagram in FIG. 5.

An initial step 510 estimates a respective processing demand that isrequired to produce position/time related data based on each subset of anumber of candidate subsets of signal sources among a group of potentialsignal sources. Each of the candidate subsets contains at least aminimum number of signal sources necessary to produce the position/timerelated data of a desired quality. Hence, the number of candidatesubsets is normally relatively large. However, determining the candidatesub-set that is associated with the lowest estimated processing demandduring a subsequent operating period requires a comparatively smallamount of processing resources. Therefore, by optimizing the selectionof signal sources, the overall usage of the processing unit's processingresources can be economized.

A subsequent step 520 selects a set of preferred signal sources, i.e.the subset, which in the step 510 was found to be associated with thelowest estimated processing demand for producing the position/time dataof the desired quality.

Then, a step 530 receives spread spectrum signals from the signalsources in the selected set. This reception continues during saidoperating period. Depending on the implementation and the receiver'scurrent operational mode, the length of this period may vary from a fewprocessor clock cycles to several minutes. Moreover, it is worth notingthat the above-mentioned lowest estimated processing demand forproducing the position/time data of a desired quality refers to theexpected total amount of processing necessary to perform during saidoperating period. Thus, an initial processing peak may be acceptableprovided that this peak is comparatively short, and the expected totalamount of processing becomes sufficiently low during subsequentoperations.

All of the steps, as well as any sub-sequence of steps, described withreference to FIG. 5 above may be controlled by means of a programmedcomputer apparatus. Moreover, although the embodiments of the inventiondescribed above with reference to the drawings comprise computerapparatus and processes performed in computer apparatus, the inventionthus also extends to computer programs, particularly computer programson or in a carrier, adapted for putting the invention into practice. Theprogram may be in the form of source code, object code, a codeintermediate source and object code such as in partially compiled form,or in any other form suitable for use in the implementation of theprocedure according to the invention. The program may either be a partof an operating system, or be a separate application. The carrier may beany entity or device capable of carrying the program. For example, thecarrier may comprise a storage medium, such as a Flash memory, a ROM(Read Only Memory), for example a DVD (Digital Video/Versatile Disk), aCD (Compact Disc), an EPROM (Erasable Programmable Read-Only Memory), anEEPROM (Electrically Erasable Programmable Read-Only Memory), or amagnetic recording medium, for example a floppy disc or hard disc.Further, the carrier may be a transmissible carrier such as anelectrical or optical signal which may be conveyed via electrical oroptical cable or by radio or by other means. When the program isembodied in a signal which may be conveyed directly by a cable or otherdevice or means, the carrier may be constituted by such cable or deviceor means. Alternatively, the carrier may be an integrated circuit inwhich the program is embedded, the integrated circuit being adapted forperforming, or for use in the performance of, the relevant procedures.

The term “comprises/comprising” when used in this specification is takento specify the presence of stated features, integers, steps orcomponents. However, the term does not preclude the presence or additionof one or more additional features, integers, steps or components orgroups thereof.

The reference to any prior art in this specification is not, and shouldnot be taken as, an acknowledgement or any suggestion that thereferenced prior art forms part of the common general knowledge inAustralia.

The invention is not restricted to the described embodiments in thefigures, but may be varied freely within the scope of the claims.

The invention claimed is:
 1. A spread spectrum signal receivercomprising: a radio signal processing unit at least partly implementedin software running on a processor, the processing unit being adapted toselect a set of preferred signal sources from a group of potentialsignal sources, receive spread spectrum signals from the selected set ofsignal sources, and based on the received signals produce position/timerelated data, wherein the processing unit is configured to: estimate foreach subset of a number of candidate subsets of signal sources among thegroup of potential signal sources a respective processing demandrequired to produce the position/time related data based on the subsetof signal sources, each candidate subset of signal sources containing atleast a minimum number of signal sources necessary to produce theposition/time related data of a desired quality, and select the set ofpreferred signal sources based on a candidate subset being associatedwith a lowest estimated processing demand during a subsequent operatingperiod for the receiver.
 2. The receiver according to claim 1, whereinat least two of the signal sources in the group of potential signalsources emit signals of mutually different signal formats, and theprocessing unit is configured to estimate the processing demand byconsidering a respective computational complexity for processing signalsof each of said signal formats.
 3. The receiver according to claim 1,wherein the processing unit is configured to estimate the processingdemand by determining a respective signal quality of each signal in thegroup of potential signal sources, the signal quality being reflected byat least one of: a signal power parameter estimation, a noise densityparameter estimation, a pseudorange error parameter estimation, aparameter indicating interference detection, and signal sourcehealth/status data.
 4. The receiver according to claim 1, wherein theprocessing unit is configured to estimate the processing demand byconsidering at least one geometry parameter reflecting a spatialposition of each of the signal sources in the group of potential signalsources relative to a current position/time for the receiver.
 5. Thereceiver according to claim 1, wherein the processing unit is configuredto estimate the processing demand by considering whether a futureoperational mode of the receiver during the subsequent operating periodis expected to be identical to a current operational mode of thereceiver.
 6. The receiver according to claim 5, wherein if the futureoperational mode is different from the current operational mode, theprocessing unit is configured to estimate a respective processing demandfor producing the position/time related data in the future operationalmode based on each subset of a number of candidate subsets of signalsources among the group of potential signal sources, and each candidatesubset contains at least a minimum number of signal sources required toproduce the position/time related data of the desired quality in thefuture operational mode.
 7. The receiver according to claim 1, whereineach signal source is represented by a particular satellite of at leastone global navigation satellite system, and the group of potentialsignal sources represents all satellites of the at least one globalnavigation satellite system being visible from a current position/timefor the receiver.
 8. The receiver according to claim 1, wherein theprocessing unit is configured to estimate the candidate subset which isassociated with the lowest processing demand during the subsequentperiod by optimizing a cost function expressing a processing intensityas a function of a data quality level in respect of the position/timerelated data.
 9. A method of operating a spread spectrum signalreceiver, comprising a radio signal processing unit being at leastpartly implemented in software running on a processor, the methodcomprising: selecting a set of preferred signal sources from a group ofpotential signal sources, receiving spread spectrum signals from theselected set of signal sources, producing position/time related databased on the received signals, estimating for each subset of a number ofcandidate subsets of signal sources among the group of potential signalsources a respective processing demand required to produce theposition/time related data based on the subset of signal sources, eachcandidate subset of signal sources containing at least a minimum numberof signal sources necessary to produce the position/time related data ofa desired quality, and selecting the set of preferred signal sourcesbased on a candidate subset being associated with a lowest estimatedprocessing demand during a subsequent operating period for the receiver.10. The method according to claim 9, wherein at least two of the signalsources in the group of potential signal sources emitting signals ofmutually different signal formats, and wherein estimating the processingdemand comprises considering a respective computational complexity forprocessing signals of each of said signal formats.
 11. The methodaccording to claim 9, wherein estimating the respective processingdemands comprises considering a respective estimated signal quality ofeach signal in the group of potential signal sources, using at least oneof: a signal power parameter estimation, a noise density parameterestimation, a pseudorange error parameter estimation, a parameterindicating interference detection, and signal source health/status data.12. The method according to claim 9, wherein estimating the processingdemand comprises considering at least one geometry parameter reflectinga spatial position of each of the signal sources in the group ofpotential signal sources relative to a current position/time for thereceiver.
 13. The method according to claim 9, wherein estimating theprocessing demand comprises considering whether a future operationalmode of the receiver during the subsequent operating period is expectedto be identical to a current operational mode of the receiver.
 14. Themethod according to claim 13, wherein when the future operational modeis different from the current operational mode, the method furthercomprises: estimating a respective processing demand for producing theposition/time related data in the future operational mode based on eachsubset of a number of candidate subsets of signal sources among thegroup of potential signal sources, each candidate subset containing atleast a minimum number of signal sources required to produce theposition/time related data of the desired quality in the futureoperational mode.
 15. The method according to claim 9, wherein selectinga set of preferred signal sources from a group of potential signalsources comprises selecting a signal source from a global navigationsystem wherein each signal source is represented by a particularsatellite of at least one global navigation satellite system, and thegroup of potential signal sources representing all satellites of the atleast one global navigation satellite system being visible from acurrent position/time for the receiver.
 16. The method according toclaim 9, wherein estimating the processing demand comprises estimatingthe candidate subset which is associated with the lowest processingdemand during the subsequent period by optimizing a cost functionexpressing a processing intensity as a function of a data quality levelin respect of the position/time related data.
 17. A computer programproduct directly loadable into the memory of a computer, comprisingcomputer-readable program code portions comprising: an executableportion configured for selecting a set of preferred signal sources froma group of potential signal sources, an executable portion configuredfor receiving spread spectrum signals from the selected set of signalsources, an executable portion configured for producing position/timerelated data based on the received signals, an executable portionconfigured for estimating for each subset of a number of candidatesubsets of signal sources among the group of potential signal sources arespective processing demand required to produce the position/timerelated data based on the subset of signal sources, each candidatesubset of signal sources containing at least a minimum number of signalsources necessary to produce the position/time related data of a desiredquality, and an executable portion configured for selecting the set ofpreferred signal sources based on a candidate subset being associatedwith a lowest estimated processing demand during a subsequent operatingperiod for the receiver.
 18. A computer readable medium, having aprogram recorded thereon, where the program comprising computer-readableprogram code portions comprising: an executable portion configured forselecting a set of preferred signal sources from a group of potentialsignal sources, an executable portion configured for receiving spreadspectrum signals from the selected set of signal sources, an executableportion configured for producing position/time related data based on thereceived signals, an executable portion configured for estimating foreach subset of a number of candidate subsets of signal sources among thegroup of potential signal sources a respective processing demandrequired to produce the position/time related data based on the subsetof signal sources, each candidate subset of signal sources containing atleast a minimum number of signal sources necessary to produce theposition/time related data of a desired quality, and an executableportion configured for selecting the set of preferred signal sourcesbased on a candidate subset being associated with a lowest estimatedprocessing demand during a subsequent operating period for the receiver.